// store/user.js
import { defineStore } from 'pinia'
// 所有状态按照 use + 驼峰模块名 + Store 规范命名

function definInfo(){
    return {
        
    }
}

/**
 * 用户信息
 */
export const useUserStore = defineStore('user', {
    state: () => ({
        info: definInfo(),
        token: ''
    }),
    getters: {
        /**
         * 判断登录，防止以后有其他判断，所以在此定义依赖，项目所有登录都用此判断
         */
        isLogin(state){
            return !!state.token
        }
    },
    actions: {
        /**
         * 获取用户信息
         */
        getUserInfo(){
            return new Promise((reslove, reject) => {
                // getUserInfo().then(res => {
                //     this.info = res.data
                //     reslove(res.data)
                // }).catch(err => {
                //     reject(err)
                // })
            })
        },
        clearInfo(){
            this.token = ''
            this.info = definInfo()
        }
    },
    persistedstate: {
        // 定义需要持久化的字段
        paths: ['info', 'token'] 
    }
})